规划应用程序
  这个应用程序的类库 Ch10CardLib 包含类。在开始编写代码前,应规划一下需要的结构和类的功能。
1. Card 类
  Card 类基本上是两个只读字段 suit 和 rank 的容器。把字段指定为只读的原因是 "空白" 的牌是没有意义的,牌在创建好后也不能修改。为此,要把默认的构造函数指定为私有,并提供另一个构造函数,使用给定的 suit 和 rank 建立一副扑克牌。
  此外,Card 类要重写 System.Object 的 ToString() 方法,这样才能获得人们可以理解的字符串,以表示扑克牌。为使编码简单一些,为两个字段 suit 和 rank 提供枚举。
  Card 类 如图 10-9 所示。

2. Deck 类
  Deck 类包含 52 个 Card 对象。我们为这些对象使用一个简单的数组类型。这个数组不能直接访问,因为对 Card 对象的访问要通过 GetCard() 方法来实现,该方法返回指定索引的 Card 对象。这个类也有一个 Shuffle() 方法,用于重新排列数组中的牌。 Deck 类 如图 10-10 所示。

🔚